#include <iostream>
#include "ParentTreefun.h"
using namespace std;

// 创建含双亲指针的二叉树，T记录着当前结点，p记录着双亲结点
void create_parent_tree(BTNode *&T, BTNode *p)
{
  // 接受输入
  char x;
  cin >> x;
  
  // 遇到终止符，根结点置空
  if (x == '#')
    T = NULL;
  
  // 其他情况
  else
  {
    // 创建根结点
    T = new BTNode;
    T->data = x;
    
    // 指向双亲结点
    T->parent = p;
    
    // 更新双亲结点
    p = T;
    
    // 左右孩子初始为空
    T->lchild = NULL;
    T->rchild = NULL;
    
    // 创建左子树
    create_parent_tree(T->lchild, p);
    
    // 创建右子树
    create_parent_tree(T->rchild, p);
  }
  return;
}
